/*
 *    Copyright (c) 2018-2025, boss All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the boss developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: boss
 */

package com.hopes.bizz.emergency.plan.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.hopes.bizz.common.core.annotation.ExcelDictImportValidate;
import com.hopes.boss.common.entity.ExcelDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.time.LocalDate;

/**
 * 政府应急预案
 *
 * @author cx
 * @date 2023-10-25 17:34:19
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ErGovernmentEmergencyPlanExcelDTO extends ExcelDTO {

    private static final long serialVersionUID = 1L;




	/**
	* 预案编号
	*/
    @ExcelProperty("预案编号")
	@NotBlank(message = "预案编号不能为空")
    private String planNo;

	/**
	* 预案名称
	*/
    @ExcelProperty("预案名称")
	@NotBlank(message = "预案名称不能为空")
    private String planName;

	/**
	* 预案级别
	*/
    @ExcelProperty("预案级别")
	@NotBlank(message = "预案级别不能为空")
	@ExcelDictImportValidate(enumResolver = "emergency_plan_level",message = "预案级别不存在")
	private String planLevel;

	/**
	* 预案类型
	*/
    @ExcelProperty("预案类型")
	@NotBlank(message = "预案类型不能为空")
	@ExcelDictImportValidate(enumResolver = "emergency_plan_type",message = "预案类型不存在")
	private String planType;

	/**
	* 版本
	*/
    @ExcelProperty("版本")
	@NotBlank(message = "版本不能为空")
	private String version;

	/**
	* 行业类型
	*/
    @ExcelProperty("行业类型")
	@NotBlank(message = "行业类型不能为空")
	@ExcelDictImportValidate(enumResolver = "emergency_industry_type",message = "行业类型不存在")
	private String industryType;

	/**
	* 编制单位
	*/
    @ExcelProperty("编制单位")
	@NotBlank(message = "编制单位不能为空")
	@ExcelDictImportValidate(enumResolver = "emergency_compilation_org",message = "编制单位不存在")
	private String establishmentUnit;

	/**
	* 生效日期
	*/
    @ExcelProperty("生效日期")
    private LocalDate effectiveDate;

	/**
	* 发布时间
	*/
    @ExcelProperty("发布时间")
    private LocalDate releaseDate;

	/**
	* 涉及职责
	*/
    @ExcelProperty("涉及职责")
	@NotBlank(message = "涉及职责不能为空")
	private String involvedDuties;

	/**
	* 预案内容
	*/
    @ExcelProperty("预案内容")
	@NotBlank(message = "预案内容不能为空")
    private String contentDesc;

	/**
	 * 预备内容
	 */
	@ExcelProperty("预备内容")
	private String prepareContent;


	/**
	* 状态
	*/
    @ExcelProperty("状态")
	@ExcelDictImportValidate(enumResolver = "emergency_status",message = "状态不存在")
    private String status;

	/**
	 * 审核意见
	 */
	@ExcelProperty("审核意见")
	private String auditOpinion;




}